package com.itheima.pojo;

import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * <p>
 * 评论表
 * </p>
 *
 * @author wangchang
 * @since 2020-08-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Table(name = "t_comment")
@ApiModel(value="Comment对象", description="评论表")
public class Comment implements Serializable {

    private static final long serialVersionUID = 8910576680322184241L;
    
    @ApiModelProperty(value = "唯一uid")
    @Id
    private String uid;

    /**
     * 用户uid
     */
    private String userUid;

    /**
     * 回复某条评论的uid
     */
    private String toUid;

    /**
     * 回复某个人的uid
     */
    private String toUserUid;

    /**
     * 评论内容
     */
    private String content;

    /**
     * 博客uid
     */
    private String blogUid;

    /**
     * 状态
     */
    private Boolean status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 评论来源： MESSAGE_BOARD，ABOUT，BLOG_INFO 等
     */
    private String source;

    /**
     * 评论类型： 0: 评论   1: 点赞
     */
    private Boolean type;

    /**
     * 该条评论下的，一级评论UID
     */
    private String firstCommentUid;
    
    
    //下面是表中没有的字段
    //评论相关
    /**
     * 本条评论是哪个用户说的
     */
    @Transient
    private User user;

    /**
     * 发表评论的用户名
     */
    @Transient
    private String userName;

    /**
     * 被回复的用户名
     */
    @Transient
    private String toUserName;


    /**
     * 本条评论对哪个用户说的，如果没有则为一级评论
     */
    @Transient
    private User toUser;

    
    //回复相关
    /**
     * 本条评论下的回复
     */
    @Transient
    private List<Comment> replyList;

    /**
     * 评论来源名称
     */
    @Transient
    private String sourceName;

    /**
     * 该评论来源的博客
     */
    @Transient
    private Blog blog;
    
    
}
